package com.aizuda.boot.modules.business.contract.entity.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@Schema(description = "我的合同查询请求")
public class MyContractQueryDTO {
    
    @Schema(description = "查询类型：APPLIED-我申请的，APPROVED-已审批，PENDING-待审批，APPLIED_PENDING-我提交的待审批", required = true)
    private MyContractType contractType;

    @Schema(description = "页码，从1开始，默认1")
    private Integer pageIndex = 1;

    @Schema(description = "每页大小，默认10")
    private Integer pageSize = 10;

    @Schema(description = "搜索关键字")
    private String keyword;

    /**
     * 我的合同类型枚举
     */
    public enum MyContractType {
        @Schema(description = "我申请的")
        APPLIED("我申请的"),
        
        @Schema(description = "已审批")
        APPROVED("已审批"),
        
        @Schema(description = "待审批")
        PENDING("待审批"),
        
        @Schema(description = "我提交的待审批")
        APPLIED_PENDING("我提交的待审批");

        private final String description;

        MyContractType(String description) {
            this.description = description;
        }

        public String getDescription() {
            return description;
        }
    }
} 